package com.lantosec.hmrp.modules.internal.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.lantosec.hmrp.modules.internal.entity.InternalTaskDetail;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * <p>
 * 评价任务明细 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-04-23
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="InternalTaskDetail对象", description="评价任务明细")
public class InternalTaskDetailVO extends BaseVO<InternalTaskDetail> {
    private static final long serialVersionUID = 1L;


    public InternalTaskDetailVO(InternalTaskDetail entity){
        this.internalTaskDetailId = entity.getInternalTaskDetailId();
        this.internalTaskId = entity.getInternalTaskId();
        this.internalPlanId = entity.getInternalPlanId();
        this.internalPlanType = entity.getInternalPlanType();
        this.executorMode = entity.getExecutorMode();
        this.executorDeptId = entity.getExecutorDeptId();
        this.executorPositionId = entity.getExecutorPositionId();
        this.executorUserId = entity.getExecutorUserId();
        this.targetMode = entity.getTargetMode();
        this.targetDeptId = entity.getTargetDeptId();
        this.targetPositionId = entity.getTargetPositionId();
        this.targetUserId = entity.getTargetUserId();
        this.finished = entity.getFinished();
    }

    @Override
    public InternalTaskDetail convertToEntity(){
        return new InternalTaskDetail(this);
    }


    @ApiModelProperty(value = "评价任务明细ID")
    private Integer internalTaskDetailId;

    @ApiModelProperty(value = "评价任务ID")
    private Integer internalTaskId;

    @ApiModelProperty(value = "评价方案ID")
    private Integer internalPlanId;

    @ApiModelProperty(value = "方案类型")
    private Integer internalPlanType;

    @ApiModelProperty(value = "评价方形式")
    private Integer executorMode;

    @ApiModelProperty(value = "评价方ID（部门）")
    private String executorDeptId;

    @ApiModelProperty(value = "评价方ID（岗位）")
    private String executorPositionId;

    @ApiModelProperty(value = "评价人ID")
    private String executorUserId;

    @ApiModelProperty(value = "被评价方形式")
    private Integer targetMode;

    @ApiModelProperty(value = "被评价方ID(部门)")
    private String targetDeptId;

    @ApiModelProperty(value = "被评价方ID(岗位)")
    private String targetPositionId;

    @ApiModelProperty(value = "被评价方ID(人员)")
    private String targetUserId;

    @ApiModelProperty(value = "是否完成评价(0否 1是)")
    private Integer finished;

    @ApiModelProperty(value = "考评类型列表")
    private List<InternalTypeVO> internalTypeVOList;
    @ApiModelProperty(value = "是否评价完成（0否 1是）")
    private Integer state;
    @ApiModelProperty(value = "被评价方名称")
    private String name;
}
